#include "camera.h"
#include "translate.h"


Camera::Camera(const glm::vec3& pos, float focal)
: _localPos(pos)
, _focal(focal)
, _yAngle(0.f)
{
	translate::getRotateYMatrix(_yAngle, &_rotYMatrix);
	_worldPos = _rotYMatrix * _localPos;
}


void Camera::transform(const glm::vec3& pos)
{
	_localPos += pos;
	_worldPos = _rotYMatrix * _localPos;
}


void Camera::rotateY(float angle)
{
	_yAngle += angle;
	translate::getRotateYMatrix(_yAngle, &_rotYMatrix);
	_worldPos = _rotYMatrix * _localPos;
}

